home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Merciful 2
/
Merciful - Disc 2.iso
/
software
/
i
/
imagestudiov2.3.0reg.lha
/
Rexx.lha
/
ToIcon.isrx
< prev
Wrap
Text File
|
1995-02-24
|
3KB
|
129 lines
/* ImageStudio ARexx script **************************************/
/* Allow commands to return results */
options results
/* On error, goto ERROR:. Comment out this line if you wish to */
/* perform your own error checking. */
signal on error
/* BEGIN PROGRAM *************************************************/
/* See if we have an image already */
IMAGEINFO_GET STEM imageinfo.
if imageinfo.changed == 1 then do
REQUEST_MESSAGE TEXT '"Project has changed, continue?"',
BUTTONTEXT '"OK|Cancel"' AUTOCANCEL
end
else if imageinfo.changed == -1 then do
/* Open a filerequester to get an image to operate on */
REQUEST_FILE TITLE '"Choose image..."' VAR imagefile
OPEN FILE '"'imagefile'"'
end
/* Remap the image to Workbench palette */
REQUEST_MESSAGE TEXT '"Use default Workbench palette?"',
BUTTONTEXT '"Yes|No|Cancel"' AUTOCANCEL
if result == 1 then
palettefile = 'Palettes/Workbench4.palette'
else
REQUEST_FILE TITLE '"Choose palette..."' PATHPART '"Palettes"',
VAR palettefile
/* Ask whether should dither */
REQUEST_MESSAGE TEXT '"Dither image?"' BUTTONTEXT '"Yes|No|Cancel"',
AUTOCANCEL
if result == 1 then
ditherarg = 'DITHER "FS"'
else
ditherarg = ''
/* Scale the image to 80 x 40 */
SCALE X 80 Y 40
/* Load and apply the palette */
PALETTE_LOAD FILE '"'palettefile'"' ditherarg
/* Copy to clipboard, ready for IconEdit ? */
REQUEST_MESSAGE TEXT '"Copy to clipboard?"' BUTTONTEXT '"Yes|No"'
if result == 1 then
COPY
/* END PROGRAM ***************************************************/
exit
/* On ERROR */
ERROR:
/* If we get here, either an error occurred with the command's */
/* execution or there was an error with the command itself. */
/* In the former case, rc2 contains the error message and in */
/* the latter, rc2 contains an error number. SIGL contains */
/* the line number of the command which caused the jump */
/* to ERROR: */
if datatype(rc2,'NUMERIC') == 1 then do
/* See if we can describe the error with a string */
select
when rc2 == 103 then
err_string = "ERROR 103, "||,
"out of memory at line "||SIGL
when rc2 == 114 then
err_string = "ERROR 114, "||,
"bad command template at line "||SIGL
when rc2 == 115 then
err_string = "ERROR 115, "||,
"bad number for /N argument at line "||SIGL
when rc2 == 116 then
err_string = "ERROR 116, "||,
"required argument missing at line "||SIGL
when rc2 == 117 then
err_string = "ERROR 117, "||,
"value after keywork missing at line "||SIGL
when rc2 == 118 then
err_string = "ERROR 118, "||,
"wrong number of arguments at line "||SIGL
when rc2 == 119 then
err_string = "ERROR 119, "||,
"unmatched quotes at line "||SIGL
when rc2 == 120 then
err_string = "ERROR 120, "||,
"line too long at line "||SIGL
when rc2 == 236 then
err_string = "ERROR 236, "||,
"unknown command at line "||SIGL
otherwise
err_string = "ERROR "||rc2||", at line "||SIGL
end
end
else if rc2 == 'RC2' then do
err_string = "ERROR in command at line "||SIGL
end
else do
err_string = rc2||", line "||SIGL
end
request_message TEXT '"'err_string'"'
exit